<?php
namespace Framework\Middleware;

use Framework\Session;

class Authorise{
    /**
     * 检查用户是否已经认证
     * 
     * @return bool
     */
    public function isAuthenticated(){
        // 检查会话中是否有用户信息
        return Session::has('user');
    }

    /**
     * 处理用户的请求
     * 
     * @params string $role
     * @return bool
     */
    public function handle($role){
        // 如果角色是 ‘guest’（访客）并且用户已经认证重定向到首页
        if($role === 'guest' && $this->isAuthenticated()){
            return redirect('/');
        }
        // 如果角色是 ‘auth’（需要认证用户）并且用户未认证，重定向到登录页面
        elseif ($role === 'auth' && !$this->isAuthenticated()) {
            return redirect('/auth/login');
        }
    }
}